var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('#ArbetTable').bootstrapTable('destroy');// 销毁表格数据
        $('#ArbetTable').bootstrapTable({
            url: '/thymeleaf/userlistjson',         //请求后台的URL（*）
            method: 'get',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            sortable: true,                //是否启用排序
            sortName : 'id',           //初始化的时候排序的字段
            sortOrder: "asc",            //排序方式
            silentSort:true,               //设置为 false 将在点击分页按钮时，自动记住排序项。仅在 sidePagination设置为 server时生效.
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber: 1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 20, 50, 100],        //可供选择的每页的行数（*）
            search: true,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端
            contentType: "application/x-www-form-urlencoded",
            strictSearch: true,
            showColumns: true,                  //是否显示所有的列
            showRefresh: true,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 700,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "id",                     //每一行的唯一标识，一般为主键列
            showToggle: true,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [
                {
                    checkbox: true,
                    visible: true                  //是否显示复选框
                },
                {
                    field: 'id',
                    title: 'ID',
                    sortable : true

                }, {
                    field: 'name',
                    title: '名字',
                    sortable : true,
                    editable:true
                }, {
                    field: 'password',
                    title: '密码'
                },
                {
                    field: 'time',
                    title: '时间',
                    sortable : true
                  //  editable:true
                },
                {
                    field: 'operate',
                    title: '操作',

                    formatter: actionFormatter ,//自定义方法，添加操作按钮
                    events: operateEvents
                },
            ],
            onRefresh: function (params) {
                if($("#refreshWay .active").data("toggle")=== "off"){
                    autoRefresh();
                }
            },
            locale: "zh-CN"  ,//中文支持
           /* onEditableSave: function (field, row, oldValue, $el) {
                $.ajax({
                    type: "post",
                    url: "/Editable/Edit",
                    data: { strJson: JSON.stringify(row) },
                    success: function (data, status) {
                        if (status == "success") {
                            alert("编辑成功");
                        }
                    },
                    error: function () {
                        alert("Error");
                    },
                    complete: function () {

                    }

                });
            },*/
            onLoadSuccess: function () {
            },
            onLoadError: function () {
                showTips("数据加载失败！");
            },
            onDblClickRow: function (row, $element) {
                var id = row.id;
                alert(row.id);
               // EditViewById(id, 'view');
            },
            rowStyle: function (row, index) { //设置行的特殊样式  //5个取值颜色['active', 'success', 'info', 'warning', 'danger'];
                var classesArr = ['active', 'info'];
                var strclass = "";
                if (index % 2 === 0) {//偶数行
                    strclass = classesArr[0];
                } else {//奇数行
                    strclass = classesArr[1];
                }
                return { classes: strclass };
               /* var strclass = "";  //三色预警
                if (row.name == "ryl") {
                    strclass = 'success';//还有一个active
                }
                else {
                    strclass = 'danger';
                }
                return { classes: strclass }*/


            },//隔行变色
        });

    };


    //得到查询的参数
    oTableInit.queryParams = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            limit: params.limit,   //页面大小 查询几条数据
            offset: params.offset,  //页码 从第几页开始
            order: params.order,
            ordername: params.sort,
            username: $("#username").val(),
            userid: $("#userid").val(),
            keyword:params.search,//搜索
        };
        return temp;
    };
    return oTableInit;
};

/**
 * 操作栏样式
 * 1 按钮操作栏
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function operateFormatter(value, row, index) {//赋予的参数
    return [
        '<a class="btn active" href="#">查看</a>',
        '<a class="btn active disabled" href="/theamleaf/edit?id=+'+id+'">编辑</a>',
        '<a class="btn active" href="#">删除</a>'
    ].join('');
}

/**
 * 2 图片操作栏操作栏的格式化

 */
function actionFormatter(value, row, index) {

    var id = value;
    var result = "";
    result += "<a href='javascript:;' class='btn btn-xs green' onclick=\"EditViewById('" + id + "', view='view')\" title='查看'><span class='glyphicon glyphicon-search'></span></a>";
    result += "&nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript:;' class='mod' title='编辑'><span class='glyphicon glyphicon-pencil'></span></a>";
    result += "&nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript:;' class='remove'  title='删除'><span class='glyphicon glyphicon-remove'></span></a>";

    return result;
}

//实现删除数据的方法
function Delete() {
    var ids = "";//得到用户选择的数据的ID
    var rows = $table.bootstrapTable('getSelections');
    for (var i = 0; i < rows.length; i++) {
        ids += rows[i].ID + ',';
    }
    ids = ids.substring(0, ids.length - 1);

    DeleteByIds(ids);
}



/**
 *  表格操作事件
 * @type {{[click .mod]: Window.operateEvents.click .mod, [click .remove]: Window.operateEvents.click .remove}}
 */
// var location = (window.location+'').split('/');
// var basePath = location[0]+'//'+location[2]+'/'+location[3];
    //表格  - 操作 - 事件
    window.operateEvents = {
        'click .mod': function(e, value, row, index) {
            alert('row: ' + JSON.stringify(row));
            window.location.href = "/thymeleaf/useredit?id=" + row.id;

        },'click .remove': function (e, value, row, index) {
            alert('You delete, row: ' + JSON.stringify(row));

            deleteUser(row.id);
            $('#ArbetTable').bootstrapTable('remove', {
                field: 'id',
                values: [row.id]
            });


        }

        }

//批量删除
function deleteUserList() {
    //获取所有被选中的记录
    var rows = $("#ArbetTable").bootstrapTable('getSelections');

    if (rows.length== 0) {
        alert("请先选择要删除的记录！");
        return;
    }
    var ids = '';
    for (var i = 0; i < rows.length; i++) {
        ids += rows[i]['id'] + ",";
    }
    ids = ids.substring(0, ids.length - 1);
    deleteUser(ids);
}

//删除
function deleteUser(ids) {
    var msg = "您真的确定要删除吗？";
    if (confirm(msg) == true) {

       console.log(ids);
        $.ajax({
            url: "/thymeleaf/deleteUser",
            type: "post",
            data: {
                ids:ids
            },
            success: function (data) {
                alert(data.msg);
                if (data.code == 0) {
                    //重新加载记录
                    //重新加载数据
                    $("#ArbetTable").bootstrapTable('refresh', {url: '/thymeleaf/userlistjson'});
                }
            }
        });
    }
}

